css: Remove old animation code
authorBenjamin Otte <otte@redhat.com>
Wed, 4 Apr 2012 16:55:51 +0000 (18:55 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 17 Apr 2012 06:59:19 +0000 (08:59 +0200)
Deprecate public API where appropriate and make it no-ops.
Remove all calls to it.
Get rid of the 'transition' css property.

For now, this means spinners don't animate anymore.

21 files changed:
gtk/Makefile.am
gtk/gtk-default.css
gtk/gtk-win32-base.css
gtk/gtkanimationdescription.c [deleted file]
gtk/gtkanimationdescription.h [deleted file]
gtk/gtkcssstylefuncs.c
gtk/gtkcssstylepropertyimpl.c
gtk/gtkcsstypesprivate.h
gtk/gtkexpander.c
gtk/gtkstylecontext.c
gtk/gtkstylecontext.h
gtk/gtkstylecontextprivate.h
gtk/gtkstyleproperties.c
gtk/gtkswitch.c
gtk/gtkthemingengine.c
gtk/gtktimeline.c [deleted file]
gtk/gtktimeline.h [deleted file]
gtk/gtktoolitemgroup.c
gtk/gtktreeview.c
gtk/gtkwidget.c
tests/styleexamples.c

index 062b99916b5c38ac2f81be407d557cba81ea91d5..7d8d6ddac87bcff249f3cec8f6b37c8cd25899f8 100644 (file)
@@ -405,7 +405,6 @@ gtk_private_h_sources =             \
        gtkaccelgroupprivate.h  \
        gtkaccelmapprivate.h    \
        gtkallocatedbitmaskprivate.h    \
-       gtkanimationdescription.h \
        gtkappchooserprivate.h  \
        gtkappchoosermodule.h   \
        gtkappchooseronline.h   \
@@ -525,7 +524,6 @@ gtk_private_h_sources =             \
        gtktextutil.h           \
        gtkthemingbackgroundprivate.h \
        gtkthemingengineprivate.h \
-       gtktimeline.h           \
        gtktoolpaletteprivate.h \
        gtktreedatalist.h       \
        gtktreeprivate.h        \
@@ -591,7 +589,6 @@ gtk_base_c_sources =                \
        gtkappchooseronline.c   \
        gtkapplication.c        \
        gtkapplicationwindow.c  \
-       gtkanimationdescription.c \
        gtkarrow.c              \
        gtkaspectframe.c        \
        gtkassistant.c          \
@@ -819,7 +816,6 @@ gtk_base_c_sources =                \
        gtktextview.c           \
        gtkthemingbackground.c  \
        gtkthemingengine.c      \
-       gtktimeline.c           \
        gtktoggleaction.c       \
        gtktogglebutton.c       \
        gtktoggletoolbutton.c   \
index 023139f775298f83d9173a9437da03801e580ec6..593ae8997f7b79488367c437b7837b557d026315 100644 (file)
@@ -36,10 +36,6 @@ GtkTreeView.view.expander:selected:hover {
   color: @text_color;
 }
 
-.expander:active {
-  transition: 200ms linear;
-}
-
 *:insensitive {
   border-color: shade (@bg_color, 0.7);
   background-color: shade (@bg_color, 0.9);
@@ -295,10 +291,6 @@ GtkLabel:selected:focused {
   background-color: @selected_bg_color;
 }
 
-.spinner:active {
-  transition: 750ms linear loop;
-}
-
 .info {
   background-color: @info_bg_color;
   color: @info_fg_color;
index f6284569fbb4fb3675104e78022396f674f83c45..0c86bbb058e25c819eb3e51accc67d1053f6f314 100644 (file)
@@ -77,10 +77,6 @@ GtkFrame {
     color: #fff;
 }
 
-.spinner:active {
-  transition: 750ms linear loop;
-}
-
 .notebook > GtkScrolledWindow.frame {
     border-style: none;
 }
@@ -837,4 +833,4 @@ GtkStatusbar > GtkFrame {
     background-color: transparent;
     background-image:  -gtk-win32-theme-part(status, 3 1);
 }
-*/
\ No newline at end of file
+*/
diff --git a/gtk/gtkanimationdescription.c b/gtk/gtkanimationdescription.c
deleted file mode 100644 (file)
index c8bf5fb..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2010 Carlos Garnacho <carlosg@gnome.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include "config.h"
-#include "gtkanimationdescription.h"
-#include "gtkintl.h"
-
-struct GtkAnimationDescription
-{
-  GtkTimelineProgressType progress_type;
-  gdouble duration;
-  guint loop : 1;
-  guint ref_count;
-};
-
-GtkAnimationDescription *
-_gtk_animation_description_new (gdouble                 duration,
-                                GtkTimelineProgressType progress_type,
-                                gboolean                loop)
-{
-  GtkAnimationDescription *desc;
-
-  desc = g_slice_new (GtkAnimationDescription);
-  desc->duration = duration;
-  desc->progress_type = progress_type;
-  desc->loop = loop;
-  desc->ref_count = 1;
-
-  return desc;
-}
-
-gdouble
-_gtk_animation_description_get_duration (GtkAnimationDescription *desc)
-{
-  return desc->duration;
-}
-
-GtkTimelineProgressType
-_gtk_animation_description_get_progress_type (GtkAnimationDescription *desc)
-{
-  return desc->progress_type;
-}
-
-gboolean
-_gtk_animation_description_get_loop (GtkAnimationDescription *desc)
-{
-  return (desc->loop != 0);
-}
-
-GtkAnimationDescription *
-_gtk_animation_description_ref (GtkAnimationDescription *desc)
-{
-  desc->ref_count++;
-  return desc;
-}
-
-void
-_gtk_animation_description_unref (GtkAnimationDescription *desc)
-{
-  desc->ref_count--;
-
-  if (desc->ref_count == 0)
-    g_slice_free (GtkAnimationDescription, desc);
-}
-
-GtkAnimationDescription *
-_gtk_animation_description_from_string (const gchar *str)
-{
-  gchar timing_function[16] = { 0, };
-  gchar duration_unit[3] = { 0, };
-  gchar loop_str[5] = { 0, };
-  GtkTimelineProgressType progress_type;
-  guint duration = 0;
-  gboolean loop;
-
-  if (sscanf (str, "%d%2s %15s %5s", &duration, duration_unit, timing_function, loop_str) == 4)
-    loop = TRUE;
-  else if (sscanf (str, "%d%2s %15s", &duration, duration_unit, timing_function) == 3)
-    loop = FALSE;
-  else
-    return NULL;
-
-  if (strcmp (duration_unit, "s") == 0)
-    duration *= 1000;
-  else if (strcmp (duration_unit, "ms") != 0)
-    {
-      g_warning ("Unknown duration unit: %s\n", duration_unit);
-      return NULL;
-    }
-
-  if (strcmp (timing_function, "linear") == 0)
-    progress_type = GTK_TIMELINE_PROGRESS_LINEAR;
-  else if (strcmp (timing_function, "ease") == 0)
-    progress_type = GTK_TIMELINE_PROGRESS_EASE;
-  else if (strcmp (timing_function, "ease-in") == 0)
-    progress_type = GTK_TIMELINE_PROGRESS_EASE_IN;
-  else if (strcmp (timing_function, "ease-out") == 0)
-    progress_type = GTK_TIMELINE_PROGRESS_EASE_OUT;
-  else if (strcmp (timing_function, "ease-in-out") == 0)
-    progress_type = GTK_TIMELINE_PROGRESS_EASE_IN_OUT;
-  else
-    {
-      g_warning ("Unknown timing function: %s\n", timing_function);
-      return NULL;
-    }
-
-  return _gtk_animation_description_new ((gdouble) duration, progress_type, loop);
-}
-
-void
-_gtk_animation_description_print (GtkAnimationDescription *desc,
-                                  GString                 *str)
-{
-  int duration;
-
-  g_return_if_fail (desc != NULL);
-  g_return_if_fail (str != NULL);
-
-  duration = desc->duration;
-  if (duration % 1000 == 0)
-    g_string_append_printf (str, "%ds", (int) desc->duration / 1000);
-  else
-    g_string_append_printf (str, "%dms", (int) desc->duration);
-
-  switch (desc->progress_type)
-    {
-    case GTK_TIMELINE_PROGRESS_LINEAR:
-      g_string_append (str, " linear");
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE:
-      g_string_append (str, " ease");
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_IN:
-      g_string_append (str, " ease-in");
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_OUT:
-      g_string_append (str, " ease-out");
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_IN_OUT:
-      g_string_append (str, " ease-in-out");
-      break;
-    default:
-      g_assert_not_reached ();
-    }
-
-  if (desc->loop)
-    g_string_append (str, " loop");
-}
-
-GType
-_gtk_animation_description_get_type (void)
-{
-  static GType type = 0;
-
-  if (G_UNLIKELY (!type))
-    type = g_boxed_type_register_static (I_("GtkAnimationDescription"),
-                                         (GBoxedCopyFunc) _gtk_animation_description_ref,
-                                         (GBoxedFreeFunc) _gtk_animation_description_unref);
-
-  return type;
-}
diff --git a/gtk/gtkanimationdescription.h b/gtk/gtkanimationdescription.h
deleted file mode 100644 (file)
index 408f2a6..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2010 Carlos Garnacho <carlosg@gnome.org>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GTK_ANIMATION_DESCRIPTION_H__
-#define __GTK_ANIMATION_DESCRIPTION_H__
-
-#include "gtktimeline.h"
-
-G_BEGIN_DECLS
-
-/* Dummy typedefs */
-typedef struct GtkAnimationDescription GtkAnimationDescription;
-
-#define GTK_TYPE_ANIMATION_DESCRIPTION (_gtk_animation_description_get_type ())
-
-GType                     _gtk_animation_description_get_type          (void) G_GNUC_CONST;
-
-GtkAnimationDescription * _gtk_animation_description_new               (gdouble                  duration,
-                                                                        GtkTimelineProgressType  progress_type,
-                                                                        gboolean                 loop);
-
-gdouble                   _gtk_animation_description_get_duration      (GtkAnimationDescription *desc);
-GtkTimelineProgressType   _gtk_animation_description_get_progress_type (GtkAnimationDescription *desc);
-gboolean                  _gtk_animation_description_get_loop          (GtkAnimationDescription *desc);
-
-GtkAnimationDescription * _gtk_animation_description_ref               (GtkAnimationDescription *desc);
-void                      _gtk_animation_description_unref             (GtkAnimationDescription *desc);
-
-GtkAnimationDescription * _gtk_animation_description_from_string       (const gchar *str);
-void                      _gtk_animation_description_print             (GtkAnimationDescription *desc,
-                                                                        GString                 *string);
-
-G_END_DECLS
-
-#endif /* __GTK_ANIMATION_DESCRIPTION_H__ */
index 2105d5aa9ef0c973f1ba3c873c55db43efd42a29..3315fbfdbc77d7ca773df68c50144925051c08cf 100644 (file)
@@ -27,7 +27,6 @@
 #include <gdk-pixbuf/gdk-pixbuf.h>
 #include <cairo-gobject.h>
 
-#include "gtkanimationdescription.h"
 #include "gtkcssimagegradientprivate.h"
 #include "gtkcssprovider.h"
 #include "gtkcssrgbavalueprivate.h"
@@ -602,43 +601,6 @@ theming_engine_value_print (const GValue *value,
     }
 }
 
-static gboolean 
-animation_description_value_parse (GtkCssParser *parser,
-                                   GFile        *base,
-                                   GValue       *value)
-{
-  GtkAnimationDescription *desc;
-  char *str;
-
-  str = _gtk_css_parser_read_value (parser);
-  if (str == NULL)
-    return FALSE;
-
-  desc = _gtk_animation_description_from_string (str);
-  g_free (str);
-
-  if (desc == NULL)
-    {
-      _gtk_css_parser_error (parser, "Invalid animation description");
-      return FALSE;
-    }
-  
-  g_value_take_boxed (value, desc);
-  return TRUE;
-}
-
-static void
-animation_description_value_print (const GValue *value,
-                                   GString      *string)
-{
-  GtkAnimationDescription *desc = g_value_get_boxed (value);
-
-  if (desc == NULL)
-    g_string_append (string, "none");
-  else
-    _gtk_animation_description_print (desc, string);
-}
-
 static gboolean 
 border_value_parse (GtkCssParser *parser,
                     GFile        *base,
@@ -1038,10 +1000,6 @@ gtk_css_style_funcs_init (void)
                                 theming_engine_value_parse,
                                 theming_engine_value_print,
                                 NULL);
-  register_conversion_function (GTK_TYPE_ANIMATION_DESCRIPTION,
-                                animation_description_value_parse,
-                                animation_description_value_print,
-                                NULL);
   register_conversion_function (GTK_TYPE_BORDER,
                                 border_value_parse,
                                 border_value_print,
index dab9abd4994905f75364c7cb3cd1425c546ad2d0..2f365ead22dd67cd600e77f9dd22865aec719e2b 100644 (file)
@@ -38,7 +38,6 @@
 #include "fallback-c89.c"
 
 /* the actual parsers we have */
-#include "gtkanimationdescription.h"
 #include "gtkbindings.h"
 #include "gtkcssarrayvalueprivate.h"
 #include "gtkcssbgsizevalueprivate.h"
@@ -113,21 +112,6 @@ gtk_css_style_property_register (const char *                   name,
 
 /*** IMPLEMENTATIONS ***/
 
-static void
-query_simple (GtkCssStyleProperty *property,
-              const GtkCssValue   *css_value,
-              GValue              *value)
-{
-  _gtk_css_value_init_gvalue (css_value, value);
-}
-
-static GtkCssValue *
-assign_simple (GtkCssStyleProperty *property,
-              const GValue        *value)
-{
-  return _gtk_css_value_new_from_gvalue (value);
-}
-
 static void
 query_length_as_int (GtkCssStyleProperty *property,
                      const GtkCssValue   *css_value,
@@ -816,27 +800,6 @@ engine_assign (GtkCssStyleProperty *property,
   return _gtk_css_engine_value_new (g_value_get_object (value));
 }
 
-static GtkCssValue *
-transition_parse (GtkCssStyleProperty *property,
-                  GtkCssParser        *parser,
-                  GFile               *base)
-{
-  GValue value = G_VALUE_INIT;
-  GtkCssValue *result;
-
-  g_value_init (&value, GTK_TYPE_ANIMATION_DESCRIPTION);
-  if (!_gtk_css_style_parse_value (&value, parser, base))
-    {
-      g_value_unset (&value);
-      return NULL;
-    }
-
-  result = _gtk_css_value_new_from_gvalue (&value);
-  g_value_unset (&value);
-
-  return result;
-}
-
 static GtkCssValue *
 parse_margin (GtkCssStyleProperty *property,
               GtkCssParser        *parser,
@@ -1602,17 +1565,6 @@ _gtk_css_style_property_init_properties (void)
                                           engine_assign,
                                           NULL,
                                           _gtk_css_engine_value_new (gtk_theming_engine_load (NULL)));
-  gtk_css_style_property_register        ("transition",
-                                          GTK_CSS_PROPERTY_TRANSITION,
-                                          GTK_TYPE_ANIMATION_DESCRIPTION,
-                                          0,
-                                          transition_parse,
-                                          NULL,
-                                          NULL,
-                                          query_simple,
-                                          assign_simple,
-                                          NULL,
-                                          _gtk_css_value_new_from_boxed (GTK_TYPE_ANIMATION_DESCRIPTION, NULL));
 
   /* Private property holding the binding sets */
   gtk_css_style_property_register        ("gtk-key-bindings",
index 9f2b370f5f81912f6859aad6c2a86b92ae886716..22c1546d4efb4a63cb36a9ae941f30633de6c774 100644 (file)
@@ -108,7 +108,6 @@ enum { /*< skip >*/
   GTK_CSS_PROPERTY_TRANSITION_TIMING_FUNCTION,
   GTK_CSS_PROPERTY_TRANSITION_DELAY,
   GTK_CSS_PROPERTY_ENGINE,
-  GTK_CSS_PROPERTY_TRANSITION,
   GTK_CSS_PROPERTY_GTK_KEY_BINDINGS,
   /* add more */
   GTK_CSS_PROPERTY_N_PROPERTIES
index a72cc1f60568723c70e7839bbb0e90788c20f21f..6a98910b0637a34e3b60f6afe4c5ab5f2f837b5d 100644 (file)
@@ -911,15 +911,11 @@ gtk_expander_paint (GtkExpander *expander,
   gtk_style_context_set_state (context, state);
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
 
-  /* The expander is the only animatable region */
-  gtk_style_context_push_animatable_region (context, GUINT_TO_POINTER (1));
-
   gtk_render_expander (context, cr,
                        clip.x - allocation.x,
                        clip.y - allocation.y,
                        size, size);
 
-  gtk_style_context_pop_animatable_region (context);
   gtk_style_context_restore (context);
 }
 
@@ -1709,28 +1705,9 @@ gtk_expander_set_expanded (GtkExpander *expander,
   if (priv->expanded != expanded)
     {
       GtkWidget *widget = GTK_WIDGET (expander);
-      GtkSettings *settings = gtk_widget_get_settings (widget);
-      GtkStyleContext *context;
-      gboolean enable_animations;
 
-      context = gtk_widget_get_style_context (widget);
       priv->expanded = expanded;
 
-      g_object_get (settings, "gtk-enable-animations", &enable_animations, NULL);
-
-      if (enable_animations && gtk_widget_get_realized (widget))
-        {
-          gtk_style_context_save (context);
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
-
-          gtk_style_context_notify_state_change (context,
-                                                 gtk_widget_get_window (widget),
-                                                 GUINT_TO_POINTER (1),
-                                                 GTK_STATE_ACTIVE,
-                                                 expanded);
-          gtk_style_context_restore (context);
-        }
-
       child = gtk_bin_get_child (GTK_BIN (expander));
 
       if (child)
index 1af21b6f499bf99ef3890d12a4fd0b44121d8753..42f6795b0dbe7eaebca3ebbfbe5716e2a371402f 100644 (file)
@@ -33,9 +33,7 @@
 #include "gtkwindow.h"
 #include "gtkprivate.h"
 #include "gtksymboliccolorprivate.h"
-#include "gtkanimationdescription.h"
 #include "gtkcssnumbervalueprivate.h"
-#include "gtktimeline.h"
 #include "gtkiconfactory.h"
 #include "gtkwidgetpath.h"
 #include "gtkwidgetprivate.h"
 typedef struct GtkStyleInfo GtkStyleInfo;
 typedef struct GtkRegion GtkRegion;
 typedef struct PropertyValue PropertyValue;
-typedef struct AnimationInfo AnimationInfo;
 typedef struct StyleData StyleData;
 
 struct GtkRegion
@@ -346,25 +343,6 @@ struct StyleData
   GArray *property_cache;
 };
 
-struct AnimationInfo
-{
-  GtkTimeline *timeline;
-
-  gpointer region_id;
-
-  /* Region stack (until region_id) at the time of
-   * rendering, this is used for nested cancellation.
-   */
-  GSList *parent_regions;
-
-  GdkWindow *window;
-  GtkStateType state;
-  gboolean target_value;
-
-  cairo_region_t *invalidation_region;
-  GArray *rectangles;
-};
-
 struct _GtkStyleContextPrivate
 {
   GdkScreen *screen;
@@ -378,9 +356,6 @@ struct _GtkStyleContextPrivate
   GHashTable *style_data;
   GSList *info_stack;
 
-  GSList *animation_regions;
-  GSList *animations;
-
   GtkThemingEngine *theming_engine;
 
   GtkTextDirection direction;
@@ -388,7 +363,6 @@ struct _GtkStyleContextPrivate
   GtkCssChange relevant_changes;
   GtkCssChange pending_changes;
 
-  guint animations_invalidated : 1;
   guint invalidating_context : 1;
   guint invalid : 1;
 };
@@ -656,168 +630,11 @@ gtk_style_context_init (GtkStyleContext *style_context)
   priv->info_stack = g_slist_prepend (priv->info_stack, info);
 }
 
-static void
-animation_info_free (AnimationInfo *info)
-{
-  g_object_unref (info->timeline);
-  g_object_unref (info->window);
-
-  if (info->invalidation_region)
-    cairo_region_destroy (info->invalidation_region);
-
-  g_array_free (info->rectangles, TRUE);
-  g_slist_free (info->parent_regions);
-  g_slice_free (AnimationInfo, info);
-}
-
-static AnimationInfo *
-animation_info_lookup_by_timeline (GtkStyleContext *context,
-                                   GtkTimeline     *timeline)
-{
-  GtkStyleContextPrivate *priv;
-  AnimationInfo *info;
-  GSList *l;
-
-  priv = context->priv;
-
-  for (l = priv->animations; l; l = l->next)
-    {
-      info = l->data;
-
-      if (info->timeline == timeline)
-        return info;
-    }
-
-  return NULL;
-}
-
-static void
-timeline_frame_cb (GtkTimeline *timeline,
-                   gdouble      progress,
-                   gpointer     user_data)
-{
-  GtkStyleContextPrivate *priv;
-  GtkStyleContext *context;
-  AnimationInfo *info;
-
-  context = user_data;
-  priv = context->priv;
-  info = animation_info_lookup_by_timeline (context, timeline);
-
-  g_assert (info != NULL);
-
-  /* Cancel transition if window is gone */
-  if (gdk_window_is_destroyed (info->window) ||
-      !gdk_window_is_visible (info->window))
-    {
-      priv->animations = g_slist_remove (priv->animations, info);
-      animation_info_free (info);
-      return;
-    }
-
-  if (info->invalidation_region &&
-      !cairo_region_is_empty (info->invalidation_region))
-    gdk_window_invalidate_region (info->window, info->invalidation_region, TRUE);
-  else
-    gdk_window_invalidate_rect (info->window, NULL, TRUE);
-}
-
-static void
-timeline_finished_cb (GtkTimeline *timeline,
-                      gpointer     user_data)
-{
-  GtkStyleContextPrivate *priv;
-  GtkStyleContext *context;
-  AnimationInfo *info;
-
-  context = user_data;
-  priv = context->priv;
-  info = animation_info_lookup_by_timeline (context, timeline);
-
-  g_assert (info != NULL);
-
-  priv->animations = g_slist_remove (priv->animations, info);
-
-  /* Invalidate one last time the area, so the final content is painted */
-  if (info->invalidation_region &&
-      !cairo_region_is_empty (info->invalidation_region))
-    gdk_window_invalidate_region (info->window, info->invalidation_region, TRUE);
-  else
-    gdk_window_invalidate_rect (info->window, NULL, TRUE);
-
-  animation_info_free (info);
-}
-
-static AnimationInfo *
-animation_info_new (GtkStyleContext         *context,
-                    gpointer                 region_id,
-                    guint                    duration,
-                    GtkTimelineProgressType  progress_type,
-                    gboolean                 loop,
-                    GtkStateType             state,
-                    gboolean                 target_value,
-                    GdkWindow               *window)
-{
-  AnimationInfo *info;
-
-  info = g_slice_new0 (AnimationInfo);
-
-  info->rectangles = g_array_new (FALSE, FALSE, sizeof (cairo_rectangle_int_t));
-  info->timeline = _gtk_timeline_new (duration);
-  info->window = g_object_ref (window);
-  info->state = state;
-  info->target_value = target_value;
-  info->region_id = region_id;
-
-  _gtk_timeline_set_progress_type (info->timeline, progress_type);
-  _gtk_timeline_set_loop (info->timeline, loop);
-
-  if (!loop && !target_value)
-    {
-      _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD);
-      _gtk_timeline_rewind (info->timeline);
-    }
-
-  g_signal_connect (info->timeline, "frame",
-                    G_CALLBACK (timeline_frame_cb), context);
-  g_signal_connect (info->timeline, "finished",
-                    G_CALLBACK (timeline_finished_cb), context);
-
-  _gtk_timeline_start (info->timeline);
-
-  return info;
-}
-
-static AnimationInfo *
-animation_info_lookup (GtkStyleContext *context,
-                       gpointer         region_id,
-                       GtkStateType     state)
-{
-  GtkStyleContextPrivate *priv;
-  GSList *l;
-
-  priv = context->priv;
-
-  for (l = priv->animations; l; l = l->next)
-    {
-      AnimationInfo *info;
-
-      info = l->data;
-
-      if (info->state == state &&
-          info->region_id == region_id)
-        return info;
-    }
-
-  return NULL;
-}
-
 static void
 gtk_style_context_finalize (GObject *object)
 {
   GtkStyleContextPrivate *priv;
   GtkStyleContext *style_context;
-  GSList *l;
 
   style_context = GTK_STYLE_CONTEXT (object);
   priv = style_context->priv;
@@ -836,13 +653,6 @@ gtk_style_context_finalize (GObject *object)
 
   g_slist_free_full (priv->info_stack, (GDestroyNotify) style_info_free);
 
-  g_slist_free (priv->animation_regions);
-
-  for (l = priv->animations; l; l = l->next)
-    animation_info_free ((AnimationInfo *) l->data);
-
-  g_slist_free (priv->animations);
-
   if (priv->theming_engine)
     g_object_unref (priv->theming_engine);
 
@@ -1481,22 +1291,6 @@ gtk_style_context_get_state (GtkStyleContext *context)
   return info->state_flags;
 }
 
-static gboolean
-context_has_animatable_region (GtkStyleContext *context,
-                               gpointer         region_id)
-{
-  GtkStyleContextPrivate *priv;
-
-  /* NULL region_id means everything
-   * rendered through the style context
-   */
-  if (!region_id)
-    return TRUE;
-
-  priv = context->priv;
-  return g_slist_find (priv->animation_regions, region_id) != NULL;
-}
-
 /**
  * gtk_style_context_state_is_running:
  * @context: a #GtkStyleContext
@@ -1515,34 +1309,16 @@ context_has_animatable_region (GtkStyleContext *context,
  * Returns: %TRUE if there is a running transition animation for @state.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function always returns %FALSE
  **/
 gboolean
 gtk_style_context_state_is_running (GtkStyleContext *context,
                                     GtkStateType     state,
                                     gdouble         *progress)
 {
-  GtkStyleContextPrivate *priv;
-  AnimationInfo *info;
-  GSList *l;
-
   g_return_val_if_fail (GTK_IS_STYLE_CONTEXT (context), FALSE);
 
-  priv = context->priv;
-
-  for (l = priv->animations; l; l = l->next)
-    {
-      info = l->data;
-
-      if (info->state == state &&
-          context_has_animatable_region (context, info->region_id))
-        {
-          if (progress)
-            *progress = _gtk_timeline_get_progress (info->timeline);
-
-          return TRUE;
-        }
-    }
-
   return FALSE;
 }
 
@@ -2861,6 +2637,8 @@ gtk_style_context_lookup_color (GtkStyleContext *context,
  * is why the style places the transition under the :hover pseudo-class.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function does nothing.
  **/
 void
 gtk_style_context_notify_state_change (GtkStyleContext *context,
@@ -2869,100 +2647,10 @@ gtk_style_context_notify_state_change (GtkStyleContext *context,
                                        GtkStateType     state,
                                        gboolean         state_value)
 {
-  GtkStyleContextPrivate *priv;
-  GtkAnimationDescription *desc;
-  AnimationInfo *info;
-  GtkStateFlags flags;
-  GtkCssValue *v;
-  StyleData *data;
-
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
   g_return_if_fail (GDK_IS_WINDOW (window));
   g_return_if_fail (state > GTK_STATE_NORMAL && state <= GTK_STATE_FOCUSED);
-
-  priv = context->priv;
-  g_return_if_fail (priv->widget != NULL || priv->widget_path != NULL);
-
-  state_value = (state_value == TRUE);
-
-  switch (state)
-    {
-    case GTK_STATE_ACTIVE:
-      flags = GTK_STATE_FLAG_ACTIVE;
-      break;
-    case GTK_STATE_PRELIGHT:
-      flags = GTK_STATE_FLAG_PRELIGHT;
-      break;
-    case GTK_STATE_SELECTED:
-      flags = GTK_STATE_FLAG_SELECTED;
-      break;
-    case GTK_STATE_INSENSITIVE:
-      flags = GTK_STATE_FLAG_INSENSITIVE;
-      break;
-    case GTK_STATE_INCONSISTENT:
-      flags = GTK_STATE_FLAG_INCONSISTENT;
-      break;
-    case GTK_STATE_FOCUSED:
-      flags = GTK_STATE_FLAG_FOCUSED;
-      break;
-    case GTK_STATE_NORMAL:
-    default:
-      flags = 0;
-      break;
-    }
-
-  /* Find out if there is any animation description for the given
-   * state, it will fallback to the normal state as well if necessary.
-   */
-  gtk_style_context_save (context);
-  gtk_style_context_set_state (context, flags);
-  data = style_data_lookup (context);
-  gtk_style_context_restore (context);
-  v = _gtk_css_computed_values_get_value (data->store, GTK_CSS_PROPERTY_TRANSITION);
-  if (!v)
-    return;
-  desc = _gtk_css_value_get_boxed (v);
-  if (!desc)
-    return;
-
-  if (_gtk_animation_description_get_duration (desc) == 0)
-    return;
-
-  info = animation_info_lookup (context, region_id, state);
-
-  if (info &&
-      info->target_value != state_value)
-    {
-      /* Target values are the opposite */
-      if (!_gtk_timeline_get_loop (info->timeline))
-        {
-          /* Reverse the animation */
-          if (_gtk_timeline_get_direction (info->timeline) == GTK_TIMELINE_DIRECTION_FORWARD)
-            _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_BACKWARD);
-          else
-            _gtk_timeline_set_direction (info->timeline, GTK_TIMELINE_DIRECTION_FORWARD);
-
-          info->target_value = state_value;
-        }
-      else
-        {
-          /* Take it out of its looping state */
-          _gtk_timeline_set_loop (info->timeline, FALSE);
-        }
-    }
-  else if (!info &&
-           (!_gtk_animation_description_get_loop (desc) ||
-            state_value))
-    {
-      info = animation_info_new (context, region_id,
-                                 _gtk_animation_description_get_duration (desc),
-                                 _gtk_animation_description_get_progress_type (desc),
-                                 _gtk_animation_description_get_loop (desc),
-                                 state, state_value, window);
-
-      priv->animations = g_slist_prepend (priv->animations, info);
-      priv->animations_invalidated = TRUE;
-    }
+  g_return_if_fail (context->priv->widget != NULL || context->priv->widget_path != NULL);
 }
 
 /**
@@ -2982,60 +2670,14 @@ gtk_style_context_notify_state_change (GtkStyleContext *context,
  * animatable regions.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function does nothing.
  **/
 void
 gtk_style_context_cancel_animations (GtkStyleContext *context,
                                      gpointer         region_id)
 {
-  GtkStyleContextPrivate *priv;
-  AnimationInfo *info;
-  GSList *l;
-
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
-
-  priv = context->priv;
-  l = priv->animations;
-
-  while (l)
-    {
-      info = l->data;
-      l = l->next;
-
-      if (!region_id ||
-          info->region_id == region_id ||
-          g_slist_find (info->parent_regions, region_id))
-        {
-          priv->animations = g_slist_remove (priv->animations, info);
-          animation_info_free (info);
-        }
-    }
-}
-
-static gboolean
-is_parent_of (GdkWindow *parent,
-              GdkWindow *child)
-{
-  GtkWidget *child_widget, *parent_widget;
-  GdkWindow *window;
-
-  gdk_window_get_user_data (child, (gpointer *) &child_widget);
-  gdk_window_get_user_data (parent, (gpointer *) &parent_widget);
-
-  if (child_widget != parent_widget &&
-      !gtk_widget_is_ancestor (child_widget, parent_widget))
-    return FALSE;
-
-  window = child;
-
-  while (window)
-    {
-      if (window == parent)
-        return TRUE;
-
-      window = gdk_window_get_parent (window);
-    }
-
-  return FALSE;
 }
 
 /**
@@ -3052,6 +2694,8 @@ is_parent_of (GdkWindow *parent,
  * with it.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function does nothing.
  **/
 void
 gtk_style_context_scroll_animations (GtkStyleContext *context,
@@ -3059,26 +2703,8 @@ gtk_style_context_scroll_animations (GtkStyleContext *context,
                                      gint             dx,
                                      gint             dy)
 {
-  GtkStyleContextPrivate *priv;
-  AnimationInfo *info;
-  GSList *l;
-
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
   g_return_if_fail (GDK_IS_WINDOW (window));
-
-  priv = context->priv;
-  l = priv->animations;
-
-  while (l)
-    {
-      info = l->data;
-      l = l->next;
-
-      if (info->invalidation_region &&
-          (window == info->window ||
-           is_parent_of (window, info->window)))
-        cairo_region_translate (info->invalidation_region, dx, dy);
-    }
 }
 
 /**
@@ -3097,18 +2723,15 @@ gtk_style_context_scroll_animations (GtkStyleContext *context,
  * can uniquely identify rendered elements subject to a state transition.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function does nothing.
  **/
 void
 gtk_style_context_push_animatable_region (GtkStyleContext *context,
                                           gpointer         region_id)
 {
-  GtkStyleContextPrivate *priv;
-
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
   g_return_if_fail (region_id != NULL);
-
-  priv = context->priv;
-  priv->animation_regions = g_slist_prepend (priv->animation_regions, region_id);
 }
 
 /**
@@ -3119,150 +2742,13 @@ gtk_style_context_push_animatable_region (GtkStyleContext *context,
  * See gtk_style_context_push_animatable_region().
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: This function does nothing.
  **/
 void
 gtk_style_context_pop_animatable_region (GtkStyleContext *context)
 {
-  GtkStyleContextPrivate *priv;
-
   g_return_if_fail (GTK_IS_STYLE_CONTEXT (context));
-
-  priv = context->priv;
-  priv->animation_regions = g_slist_delete_link (priv->animation_regions,
-                                                 priv->animation_regions);
-}
-
-void
-_gtk_style_context_invalidate_animation_areas (GtkStyleContext *context)
-{
-  GtkStyleContextPrivate *priv;
-  GSList *l;
-
-  priv = context->priv;
-
-  for (l = priv->animations; l; l = l->next)
-    {
-      AnimationInfo *info;
-
-      info = l->data;
-
-      /* A NULL invalidation region means it has to be recreated on
-       * the next expose event, this happens usually after a widget
-       * allocation change, so the next expose after it will update
-       * the invalidation region.
-       */
-      if (info->invalidation_region)
-        {
-          cairo_region_destroy (info->invalidation_region);
-          info->invalidation_region = NULL;
-        }
-    }
-
-  priv->animations_invalidated = TRUE;
-}
-
-void
-_gtk_style_context_coalesce_animation_areas (GtkStyleContext *context,
-                                             GtkWidget       *widget)
-{
-  GtkStyleContextPrivate *priv;
-  GSList *l;
-
-  priv = context->priv;
-
-  if (!priv->animations_invalidated)
-    return;
-
-  l = priv->animations;
-
-  while (l)
-    {
-      AnimationInfo *info;
-      gint rel_x, rel_y;
-      GSList *cur;
-      guint i;
-
-      cur = l;
-      info = cur->data;
-      l = l->next;
-
-      if (info->invalidation_region)
-        continue;
-
-      if (info->rectangles->len == 0)
-        continue;
-
-      info->invalidation_region = cairo_region_create ();
-      _gtk_widget_get_translation_to_window (widget, info->window, &rel_x, &rel_y);
-
-      for (i = 0; i < info->rectangles->len; i++)
-        {
-          cairo_rectangle_int_t *rect;
-
-          rect = &g_array_index (info->rectangles, cairo_rectangle_int_t, i);
-
-          /* These are widget relative coordinates,
-           * so have them inverted to be window relative
-           */
-          rect->x -= rel_x;
-          rect->y -= rel_y;
-
-          cairo_region_union_rectangle (info->invalidation_region, rect);
-        }
-
-      g_array_remove_range (info->rectangles, 0, info->rectangles->len);
-    }
-
-  priv->animations_invalidated = FALSE;
-}
-
-static void
-store_animation_region (GtkStyleContext *context,
-                        gdouble          x,
-                        gdouble          y,
-                        gdouble          width,
-                        gdouble          height)
-{
-  GtkStyleContextPrivate *priv;
-  GSList *l;
-
-  priv = context->priv;
-
-  if (!priv->animations_invalidated)
-    return;
-
-  for (l = priv->animations; l; l = l->next)
-    {
-      AnimationInfo *info;
-
-      info = l->data;
-
-      /* The animation doesn't need updating
-       * the invalidation area, bail out.
-       */
-      if (info->invalidation_region)
-        continue;
-
-      if (context_has_animatable_region (context, info->region_id))
-        {
-          cairo_rectangle_int_t rect;
-
-          rect.x = (gint) x;
-          rect.y = (gint) y;
-          rect.width = (gint) width;
-          rect.height = (gint) height;
-
-          g_array_append_val (info->rectangles, rect);
-
-          if (!info->parent_regions)
-            {
-              GSList *parent_regions;
-
-              parent_regions = g_slist_find (priv->animation_regions, info->region_id);
-              info->parent_regions = g_slist_copy (parent_regions);
-            }
-        }
-    }
 }
 
 static void
@@ -3772,7 +3258,6 @@ gtk_render_check (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
 
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_check (priv->theming_engine, cr,
@@ -3823,8 +3308,6 @@ gtk_render_option (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_option (priv->theming_engine, cr,
                                x, y, width, height);
@@ -3875,8 +3358,6 @@ gtk_render_arrow (GtkStyleContext *context,
   gtk_style_context_save (context);
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_ARROW);
 
-  store_animation_region (context, x, y, size, size);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_arrow (priv->theming_engine, cr,
                               angle, x, y, size);
@@ -3928,8 +3409,6 @@ gtk_render_background (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_background (priv->theming_engine, cr, x, y, width, height);
 
@@ -3981,8 +3460,6 @@ gtk_render_frame (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_frame (priv->theming_engine, cr, x, y, width, height);
 
@@ -4031,8 +3508,6 @@ gtk_render_expander (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_expander (priv->theming_engine, cr, x, y, width, height);
 
@@ -4078,8 +3553,6 @@ gtk_render_focus (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_focus (priv->theming_engine, cr, x, y, width, height);
 
@@ -4120,12 +3593,6 @@ gtk_render_layout (GtkStyleContext *context,
 
   pango_layout_get_extents (layout, &extents, NULL);
 
-  store_animation_region (context,
-                          x + extents.x,
-                          y + extents.y,
-                          extents.width,
-                          extents.height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_layout (priv->theming_engine, cr, x, y, layout);
 
@@ -4214,8 +3681,6 @@ gtk_render_slider (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_slider (priv->theming_engine, cr, x, y, width, height, orientation);
 
@@ -4279,8 +3744,6 @@ gtk_render_frame_gap (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_frame_gap (priv->theming_engine, cr,
                                   x, y, width, height, gap_side,
@@ -4333,8 +3796,6 @@ gtk_render_extension (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_extension (priv->theming_engine, cr, x, y, width, height, gap_side);
 
@@ -4383,8 +3844,6 @@ gtk_render_handle (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_handle (priv->theming_engine, cr, x, y, width, height);
 
@@ -4428,8 +3887,6 @@ gtk_render_activity (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context, x, y, width, height);
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_activity (priv->theming_engine, cr, x, y, width, height);
 
@@ -4499,11 +3956,6 @@ gtk_render_icon (GtkStyleContext *context,
 
   cairo_save (cr);
 
-  store_animation_region (context,
-                          x, y,
-                          gdk_pixbuf_get_width (pixbuf),
-                          gdk_pixbuf_get_height (pixbuf));
-
   _gtk_theming_engine_set_context (priv->theming_engine, context);
   engine_class->render_icon (priv->theming_engine, cr, pixbuf, x, y);
 
index 65725374fae78ab1defb3b418a41e53320bfae29..c5dd07edd2098748f295ab7f3d3113da65cb56c0 100644 (file)
@@ -741,6 +741,7 @@ void          gtk_style_context_set_state    (GtkStyleContext *context,
                                               GtkStateFlags    flags);
 GtkStateFlags gtk_style_context_get_state    (GtkStyleContext *context);
 
+GDK_DEPRECATED_IN_3_6
 gboolean      gtk_style_context_state_is_running (GtkStyleContext *context,
                                                   GtkStateType     state,
                                                   gdouble         *progress);
@@ -803,20 +804,25 @@ gboolean gtk_style_context_lookup_color (GtkStyleContext *context,
                                          const gchar     *color_name,
                                          GdkRGBA         *color);
 
+GDK_DEPRECATED_IN_3_6
 void  gtk_style_context_notify_state_change (GtkStyleContext *context,
                                              GdkWindow       *window,
                                              gpointer         region_id,
                                              GtkStateType     state,
                                              gboolean         state_value);
+GDK_DEPRECATED_IN_3_6
 void  gtk_style_context_cancel_animations   (GtkStyleContext *context,
                                              gpointer         region_id);
+GDK_DEPRECATED_IN_3_6
 void  gtk_style_context_scroll_animations   (GtkStyleContext *context,
                                              GdkWindow       *window,
                                              gint             dx,
                                              gint             dy);
 
+GDK_DEPRECATED_IN_3_6
 void gtk_style_context_push_animatable_region (GtkStyleContext *context,
                                                gpointer         region_id);
+GDK_DEPRECATED_IN_3_6
 void gtk_style_context_pop_animatable_region  (GtkStyleContext *context);
 
 /* Some helper functions to retrieve most common properties */
index 9feaf78fb38f32f67467c64ba9a0f011c9bb8e67..43566c92a8156d4eebfbac191eecbb2b553bd0d8 100644 (file)
@@ -39,9 +39,6 @@ void           _gtk_style_context_validate                   (GtkStyleContext *c
                                                               GtkCssChange     change);
 void           _gtk_style_context_queue_invalidate           (GtkStyleContext *context,
                                                               GtkCssChange     change);
-void           _gtk_style_context_invalidate_animation_areas (GtkStyleContext *context);
-void           _gtk_style_context_coalesce_animation_areas   (GtkStyleContext *context,
-                                                              GtkWidget       *widget);
 gboolean       _gtk_style_context_check_region_name          (const gchar     *str);
 
 gboolean       _gtk_style_context_resolve_color              (GtkStyleContext  *context,
index 8d01fb261e16fc4ef3a01851889f34e8ed9d0420..2b1986fb5a3bdaa8345f02026f9a7517389abd8e 100644 (file)
@@ -26,7 +26,6 @@
 #include "gtkstyleprovider.h"
 #include "gtksymboliccolor.h"
 #include "gtkthemingengine.h"
-#include "gtkanimationdescription.h"
 #include "gtkgradient.h"
 #include "gtkcssshadowvalueprivate.h"
 #include "gtkcssshorthandpropertyprivate.h"
index d81a68cca09d2db76dbdf4990579badfeff4982f..b3ed707d78513a7a7c1e7c63478807f1884aaf97 100644 (file)
@@ -1021,10 +1021,7 @@ gtk_switch_set_active (GtkSwitch *sw,
   if (priv->is_active != is_active)
     {
       AtkObject *accessible;
-      GtkWidget *widget;
-      GtkStyleContext *context;
 
-      widget = GTK_WIDGET (sw);
       priv->is_active = is_active;
 
       g_object_notify_by_pspec (G_OBJECT (sw), switch_props[PROP_ACTIVE]);
@@ -1038,14 +1035,6 @@ gtk_switch_set_active (GtkSwitch *sw,
       accessible = gtk_widget_get_accessible (GTK_WIDGET (sw));
       atk_object_notify_state_change (accessible, ATK_STATE_CHECKED, priv->is_active);
 
-      if (gtk_widget_get_realized (widget))
-        {
-          context = gtk_widget_get_style_context (widget);
-          gtk_style_context_notify_state_change (context,
-                                                 gtk_widget_get_window (widget),
-                                                 NULL, GTK_STATE_ACTIVE, is_active);
-        }
-
       if (priv->is_active)
         gtk_widget_set_state_flags (GTK_WIDGET (sw), GTK_STATE_FLAG_ACTIVE, FALSE);
       else
index 675f8ae7ca2340876316ea4e6788fa589de72730..3f3751284b96b3046bbe7d6566986290de5ccf8e 100644 (file)
@@ -580,18 +580,17 @@ gtk_theming_engine_get_state (GtkThemingEngine *engine)
  * Returns: %TRUE if there is a running transition animation for @state.
  *
  * Since: 3.0
+ *
+ * Deprecated: 3.6: Always returns %FALSE
  **/
 gboolean
 gtk_theming_engine_state_is_running (GtkThemingEngine *engine,
                                      GtkStateType      state,
                                      gdouble          *progress)
 {
-  GtkThemingEnginePrivate *priv;
-
   g_return_val_if_fail (GTK_IS_THEMING_ENGINE (engine), FALSE);
 
-  priv = engine->priv;
-  return gtk_style_context_state_is_running (priv->context, state, progress);
+  return FALSE;
 }
 
 /**
diff --git a/gtk/gtktimeline.c b/gtk/gtktimeline.c
deleted file mode 100644 (file)
index 340cb36..0000000
+++ /dev/null
@@ -1,760 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2007 Carlos Garnacho <carlos@imendio.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#include <gtk/gtktimeline.h>
-#include <gtk/gtktypebuiltins.h>
-#include <gtk/gtksettings.h>
-#include <math.h>
-
-#define MSECS_PER_SEC 1000
-#define FRAME_INTERVAL(nframes) (MSECS_PER_SEC / nframes)
-#define DEFAULT_FPS 30
-
-typedef struct GtkTimelinePriv GtkTimelinePriv;
-
-struct GtkTimelinePriv
-{
-  guint duration;
-  guint fps;
-  guint source_id;
-
-  GTimer *timer;
-  gdouble elapsed_time;
-
-  gdouble progress;
-  gdouble last_progress;
-
-  GdkScreen *screen;
-
-  GtkTimelineProgressType progress_type;
-
-  guint animations_enabled : 1;
-  guint loop               : 1;
-  guint direction          : 1;
-};
-
-enum {
-  PROP_0,
-  PROP_FPS,
-  PROP_DURATION,
-  PROP_LOOP,
-  PROP_DIRECTION,
-  PROP_SCREEN
-};
-
-enum {
-  STARTED,
-  PAUSED,
-  FINISHED,
-  FRAME,
-  LAST_SIGNAL
-};
-
-static guint signals [LAST_SIGNAL] = { 0, };
-
-
-static void  gtk_timeline_set_property  (GObject         *object,
-                                         guint            prop_id,
-                                         const GValue    *value,
-                                         GParamSpec      *pspec);
-static void  gtk_timeline_get_property  (GObject         *object,
-                                         guint            prop_id,
-                                         GValue          *value,
-                                         GParamSpec      *pspec);
-static void  _gtk_timeline_finalize     (GObject *object);
-
-
-G_DEFINE_TYPE (GtkTimeline, _gtk_timeline, G_TYPE_OBJECT)
-
-
-static void
-_gtk_timeline_class_init (GtkTimelineClass *klass)
-{
-  GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
-  object_class->set_property = gtk_timeline_set_property;
-  object_class->get_property = gtk_timeline_get_property;
-  object_class->finalize = _gtk_timeline_finalize;
-
-  g_object_class_install_property (object_class,
-                                   PROP_FPS,
-                                   g_param_spec_uint ("fps",
-                                                      "FPS",
-                                                      "Frames per second for the timeline",
-                                                      1, G_MAXUINT,
-                                                      DEFAULT_FPS,
-                                                      G_PARAM_READWRITE));
-  g_object_class_install_property (object_class,
-                                   PROP_DURATION,
-                                   g_param_spec_uint ("duration",
-                                                      "Animation Duration",
-                                                      "Animation Duration",
-                                                      0, G_MAXUINT,
-                                                      0,
-                                                      G_PARAM_READWRITE));
-  g_object_class_install_property (object_class,
-                                   PROP_LOOP,
-                                   g_param_spec_boolean ("loop",
-                                                         "Loop",
-                                                         "Whether the timeline loops or not",
-                                                         FALSE,
-                                                         G_PARAM_READWRITE));
-  g_object_class_install_property (object_class,
-                                   PROP_SCREEN,
-                                   g_param_spec_object ("screen",
-                                                        "Screen",
-                                                        "Screen to get the settings from",
-                                                        GDK_TYPE_SCREEN,
-                                                        G_PARAM_READWRITE));
-
-  signals[STARTED] =
-    g_signal_new ("started",
-                  G_TYPE_FROM_CLASS (object_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GtkTimelineClass, started),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID,
-                  G_TYPE_NONE, 0);
-
-  signals[PAUSED] =
-    g_signal_new ("paused",
-                  G_TYPE_FROM_CLASS (object_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GtkTimelineClass, paused),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID,
-                  G_TYPE_NONE, 0);
-
-  signals[FINISHED] =
-    g_signal_new ("finished",
-                  G_TYPE_FROM_CLASS (object_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GtkTimelineClass, finished),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__VOID,
-                  G_TYPE_NONE, 0);
-
-  signals[FRAME] =
-    g_signal_new ("frame",
-                  G_TYPE_FROM_CLASS (object_class),
-                  G_SIGNAL_RUN_LAST,
-                  G_STRUCT_OFFSET (GtkTimelineClass, frame),
-                  NULL, NULL,
-                  g_cclosure_marshal_VOID__DOUBLE,
-                  G_TYPE_NONE, 1,
-                  G_TYPE_DOUBLE);
-
-  g_type_class_add_private (klass, sizeof (GtkTimelinePriv));
-}
-
-static void
-_gtk_timeline_init (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  priv = timeline->priv = G_TYPE_INSTANCE_GET_PRIVATE (timeline,
-                                                       GTK_TYPE_TIMELINE,
-                                                       GtkTimelinePriv);
-
-  priv->fps = DEFAULT_FPS;
-  priv->duration = 0.0;
-  priv->direction = GTK_TIMELINE_DIRECTION_FORWARD;
-  priv->screen = gdk_screen_get_default ();
-
-  priv->last_progress = 0;
-}
-
-static void
-gtk_timeline_set_property (GObject      *object,
-                           guint         prop_id,
-                           const GValue *value,
-                           GParamSpec   *pspec)
-{
-  GtkTimeline *timeline;
-
-  timeline = GTK_TIMELINE (object);
-
-  switch (prop_id)
-    {
-    case PROP_FPS:
-      _gtk_timeline_set_fps (timeline, g_value_get_uint (value));
-      break;
-    case PROP_DURATION:
-      _gtk_timeline_set_duration (timeline, g_value_get_uint (value));
-      break;
-    case PROP_LOOP:
-      _gtk_timeline_set_loop (timeline, g_value_get_boolean (value));
-      break;
-    case PROP_DIRECTION:
-      _gtk_timeline_set_direction (timeline, g_value_get_enum (value));
-      break;
-    case PROP_SCREEN:
-      _gtk_timeline_set_screen (timeline,
-                                GDK_SCREEN (g_value_get_object (value)));
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    }
-}
-
-static void
-gtk_timeline_get_property (GObject    *object,
-                           guint       prop_id,
-                           GValue     *value,
-                           GParamSpec *pspec)
-{
-  GtkTimeline *timeline;
-  GtkTimelinePriv *priv;
-
-  timeline = GTK_TIMELINE (object);
-  priv = timeline->priv;
-
-  switch (prop_id)
-    {
-    case PROP_FPS:
-      g_value_set_uint (value, priv->fps);
-      break;
-    case PROP_DURATION:
-      g_value_set_uint (value, priv->duration);
-      break;
-    case PROP_LOOP:
-      g_value_set_boolean (value, priv->loop);
-      break;
-    case PROP_DIRECTION:
-      g_value_set_enum (value, priv->direction);
-      break;
-    case PROP_SCREEN:
-      g_value_set_object (value, priv->screen);
-      break;
-    default:
-      G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
-    }
-}
-
-static void
-_gtk_timeline_finalize (GObject *object)
-{
-  GtkTimelinePriv *priv;
-  GtkTimeline *timeline;
-
-  timeline = (GtkTimeline *) object;
-  priv = timeline->priv;
-
-  if (priv->source_id)
-    {
-      g_source_remove (priv->source_id);
-      priv->source_id = 0;
-    }
-
-  if (priv->timer)
-    g_timer_destroy (priv->timer);
-
-  G_OBJECT_CLASS (_gtk_timeline_parent_class)->finalize (object);
-}
-
-static gdouble
-calculate_progress (gdouble                 linear_progress,
-                    GtkTimelineProgressType progress_type)
-{
-  gdouble progress;
-
-  progress = linear_progress;
-
-  switch (progress_type)
-    {
-    case GTK_TIMELINE_PROGRESS_LINEAR:
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_IN_OUT:
-      progress *= 2;
-
-      if (progress < 1)
-        progress = pow (progress, 3) / 2;
-      else
-        progress = (pow (progress - 2, 3) + 2) / 2;
-
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE:
-      progress = (sin ((progress - 0.5) * G_PI) + 1) / 2;
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_IN:
-      progress = pow (progress, 3);
-      break;
-    case GTK_TIMELINE_PROGRESS_EASE_OUT:
-      progress = pow (progress - 1, 3) + 1;
-      break;
-    default:
-      g_warning ("Timeline progress type not implemented");
-    }
-
-  return progress;
-}
-
-static gboolean
-gtk_timeline_run_frame (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-  gdouble delta_progress, progress;
-
-  /* the user may unref us during the signals, so save ourselves */
-  g_object_ref (timeline);
-
-  priv = timeline->priv;
-
-  priv->elapsed_time = (guint) (g_timer_elapsed (priv->timer, NULL) * 1000);
-  g_timer_start (priv->timer);
-
-  if (priv->animations_enabled)
-    {
-      delta_progress = (gdouble) priv->elapsed_time / priv->duration;
-      progress = priv->last_progress;
-
-      if (priv->direction == GTK_TIMELINE_DIRECTION_BACKWARD)
-        progress -= delta_progress;
-      else
-        progress += delta_progress;
-
-      priv->last_progress = progress;
-
-      progress = CLAMP (progress, 0., 1.);
-    }
-  else
-    progress = (priv->direction == GTK_TIMELINE_DIRECTION_FORWARD) ? 1.0 : 0.0;
-
-  priv->progress = progress;
-  g_signal_emit (timeline, signals [FRAME], 0,
-                 calculate_progress (progress, priv->progress_type));
-
-  if ((priv->direction == GTK_TIMELINE_DIRECTION_FORWARD && progress == 1.0) ||
-      (priv->direction == GTK_TIMELINE_DIRECTION_BACKWARD && progress == 0.0))
-    {
-      gboolean loop;
-
-      loop = priv->loop && priv->animations_enabled;
-
-      if (loop)
-        _gtk_timeline_rewind (timeline);
-      else
-        {
-          if (priv->source_id)
-            {
-              g_source_remove (priv->source_id);
-              priv->source_id = 0;
-            }
-          g_timer_stop (priv->timer);
-          g_signal_emit (timeline, signals [FINISHED], 0);
-          g_object_unref (timeline);
-          return FALSE;
-        }
-    }
-
-  g_object_unref (timeline);
-
-  return TRUE;
-}
-
-/*
- * _gtk_timeline_new:
- * @duration: duration in milliseconds for the timeline
- *
- * Creates a new #GtkTimeline with the specified number of frames.
- *
- * Return Value: the newly created #GtkTimeline
- */
-GtkTimeline *
-_gtk_timeline_new (guint duration)
-{
-  return g_object_new (GTK_TYPE_TIMELINE,
-                       "duration", duration,
-                       NULL);
-}
-
-GtkTimeline *
-_gtk_timeline_new_for_screen (guint      duration,
-                              GdkScreen *screen)
-{
-  return g_object_new (GTK_TYPE_TIMELINE,
-                       "duration", duration,
-                       "screen", screen,
-                       NULL);
-}
-
-/*
- * _gtk_timeline_start:
- * @timeline: A #GtkTimeline
- *
- * Runs the timeline from the current frame.
- */
-void
-_gtk_timeline_start (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-  GtkSettings *settings;
-  gboolean enable_animations = FALSE;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-
-  if (!priv->source_id)
-    {
-      if (priv->timer)
-        g_timer_continue (priv->timer);
-      else
-        priv->timer = g_timer_new ();
-
-      /* sanity check */
-      g_assert (priv->fps > 0);
-
-      if (priv->screen)
-        {
-          settings = gtk_settings_get_for_screen (priv->screen);
-          g_object_get (settings, "gtk-enable-animations", &enable_animations, NULL);
-        }
-
-      priv->animations_enabled = enable_animations;
-
-      g_signal_emit (timeline, signals [STARTED], 0);
-
-      if (enable_animations)
-        priv->source_id = gdk_threads_add_timeout (FRAME_INTERVAL (priv->fps),
-                                                   (GSourceFunc) gtk_timeline_run_frame,
-                                                   timeline);
-      else
-        priv->source_id = gdk_threads_add_idle ((GSourceFunc) gtk_timeline_run_frame,
-                                                timeline);
-    }
-}
-
-/*
- * _gtk_timeline_pause:
- * @timeline: A #GtkTimeline
- *
- * Pauses the timeline.
- */
-void
-_gtk_timeline_pause (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-
-  if (priv->source_id)
-    {
-      g_timer_stop (priv->timer);
-      g_source_remove (priv->source_id);
-      priv->source_id = 0;
-      g_signal_emit (timeline, signals [PAUSED], 0);
-    }
-}
-
-/*
- * _gtk_timeline_rewind:
- * @timeline: A #GtkTimeline
- *
- * Rewinds the timeline.
- */
-void
-_gtk_timeline_rewind (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-
-  if (_gtk_timeline_get_direction (timeline) != GTK_TIMELINE_DIRECTION_FORWARD)
-    priv->progress = priv->last_progress = 1.;
-  else
-    priv->progress = priv->last_progress = 0.;
-
-  /* reset timer */
-  if (priv->timer)
-    {
-      g_timer_start (priv->timer);
-
-      if (!priv->source_id)
-        g_timer_stop (priv->timer);
-    }
-}
-
-/*
- * _gtk_timeline_is_running:
- * @timeline: A #GtkTimeline
- *
- * Returns whether the timeline is running or not.
- *
- * Return Value: %TRUE if the timeline is running
- */
-gboolean
-_gtk_timeline_is_running (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), FALSE);
-
-  priv = timeline->priv;
-
-  return (priv->source_id != 0);
-}
-
-/*
- * _gtk_timeline_get_elapsed_time:
- * @timeline: A #GtkTimeline
- *
- * Returns the elapsed time since the last GtkTimeline::frame signal
- *
- * Return Value: elapsed time in milliseconds since the last frame
- */
-guint
-_gtk_timeline_get_elapsed_time (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), 0);
-
-  priv = timeline->priv;
-  return priv->elapsed_time;
-}
-
-/*
- * _gtk_timeline_get_fps:
- * @timeline: A #GtkTimeline
- *
- * Returns the number of frames per second.
- *
- * Return Value: frames per second
- */
-guint
-_gtk_timeline_get_fps (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), 1);
-
-  priv = timeline->priv;
-  return priv->fps;
-}
-
-/*
- * _gtk_timeline_set_fps:
- * @timeline: A #GtkTimeline
- * @fps: frames per second
- *
- * Sets the number of frames per second that
- * the timeline will play.
- */
-void
-_gtk_timeline_set_fps (GtkTimeline *timeline,
-                      guint        fps)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-  g_return_if_fail (fps > 0);
-
-  priv = timeline->priv;
-
-  priv->fps = fps;
-
-  if (_gtk_timeline_is_running (timeline))
-    {
-      g_source_remove (priv->source_id);
-      priv->source_id = gdk_threads_add_timeout (FRAME_INTERVAL (priv->fps),
-                                                 (GSourceFunc) gtk_timeline_run_frame,
-                                                 timeline);
-    }
-
-  g_object_notify (G_OBJECT (timeline), "fps");
-}
-
-/*
- * _gtk_timeline_get_loop:
- * @timeline: A #GtkTimeline
- *
- * Returns whether the timeline loops to the
- * beginning when it has reached the end.
- *
- * Return Value: %TRUE if the timeline loops
- */
-gboolean
-_gtk_timeline_get_loop (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), FALSE);
-
-  priv = timeline->priv;
-  return priv->loop;
-}
-
-/*
- * _gtk_timeline_set_loop:
- * @timeline: A #GtkTimeline
- * @loop: %TRUE to make the timeline loop
- *
- * Sets whether the timeline loops to the beginning
- * when it has reached the end.
- */
-void
-_gtk_timeline_set_loop (GtkTimeline *timeline,
-                        gboolean     loop)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-
-  if (loop != priv->loop)
-    {
-      priv->loop = loop;
-      g_object_notify (G_OBJECT (timeline), "loop");
-    }
-}
-
-void
-_gtk_timeline_set_duration (GtkTimeline *timeline,
-                            guint        duration)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-
-  if (duration != priv->duration)
-    {
-      priv->duration = duration;
-      g_object_notify (G_OBJECT (timeline), "duration");
-    }
-}
-
-guint
-_gtk_timeline_get_duration (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), 0);
-
-  priv = timeline->priv;
-
-  return priv->duration;
-}
-
-/*
- * _gtk_timeline_set_direction:
- * @timeline: A #GtkTimeline
- * @direction: direction
- *
- * Sets the direction of the timeline.
- */
-void
-_gtk_timeline_set_direction (GtkTimeline          *timeline,
-                             GtkTimelineDirection  direction)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-  priv->direction = direction;
-}
-
-/*
- * _gtk_timeline_get_direction:
- * @timeline: A #GtkTimeline
- *
- * Returns the direction of the timeline.
- *
- * Return Value: direction
- */
-GtkTimelineDirection
-_gtk_timeline_get_direction (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), GTK_TIMELINE_DIRECTION_FORWARD);
-
-  priv = timeline->priv;
-  return priv->direction;
-}
-
-void
-_gtk_timeline_set_screen (GtkTimeline *timeline,
-                          GdkScreen   *screen)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-  g_return_if_fail (GDK_IS_SCREEN (screen));
-
-  priv = timeline->priv;
-
-  if (priv->screen)
-    g_object_unref (priv->screen);
-
-  priv->screen = g_object_ref (screen);
-
-  g_object_notify (G_OBJECT (timeline), "screen");
-}
-
-GdkScreen *
-_gtk_timeline_get_screen (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), NULL);
-
-  priv = timeline->priv;
-  return priv->screen;
-}
-
-gdouble
-_gtk_timeline_get_progress (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), 0.);
-
-  priv = timeline->priv;
-  return calculate_progress (priv->progress, priv->progress_type);
-}
-
-GtkTimelineProgressType
-_gtk_timeline_get_progress_type (GtkTimeline *timeline)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_val_if_fail (GTK_IS_TIMELINE (timeline), GTK_TIMELINE_PROGRESS_LINEAR);
-
-  priv = timeline->priv;
-  return priv->progress_type;
-}
-
-void
-_gtk_timeline_set_progress_type (GtkTimeline             *timeline,
-                                 GtkTimelineProgressType  progress_type)
-{
-  GtkTimelinePriv *priv;
-
-  g_return_if_fail (GTK_IS_TIMELINE (timeline));
-
-  priv = timeline->priv;
-  priv->progress_type = progress_type;
-}
diff --git a/gtk/gtktimeline.h b/gtk/gtktimeline.h
deleted file mode 100644 (file)
index 54744ef..0000000
+++ /dev/null
@@ -1,116 +0,0 @@
-/* GTK - The GIMP Toolkit
- * Copyright (C) 2007 Carlos Garnacho <carlos@imendio.com>
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Library General Public
- * License as published by the Free Software Foundation; either
- * version 2 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
- * Library General Public License for more details.
- *
- * You should have received a copy of the GNU Library General Public
- * License along with this library. If not, see <http://www.gnu.org/licenses/>.
- */
-
-#ifndef __GTK_TIMELINE_H__
-#define __GTK_TIMELINE_H__
-
-#include <glib-object.h>
-#include <gtk/gtkenums.h>
-#include <gdk/gdk.h>
-
-G_BEGIN_DECLS
-
-#define GTK_TYPE_TIMELINE                 (_gtk_timeline_get_type ())
-#define GTK_TIMELINE(obj)                 (G_TYPE_CHECK_INSTANCE_CAST ((obj), GTK_TYPE_TIMELINE, GtkTimeline))
-#define GTK_TIMELINE_CLASS(klass)         (G_TYPE_CHECK_CLASS_CAST ((klass), GTK_TYPE_TIMELINE, GtkTimelineClass))
-#define GTK_IS_TIMELINE(obj)              (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GTK_TYPE_TIMELINE))
-#define GTK_IS_TIMELINE_CLASS(klass)      (G_TYPE_CHECK_CLASS_TYPE ((klass), GTK_TYPE_TIMELINE))
-#define GTK_TIMELINE_GET_CLASS(obj)       (G_TYPE_INSTANCE_GET_CLASS ((obj), GTK_TYPE_TIMELINE, GtkTimelineClass))
-
-typedef struct GtkTimeline      GtkTimeline;
-typedef struct GtkTimelineClass GtkTimelineClass;
-
-typedef enum {
-  GTK_TIMELINE_DIRECTION_FORWARD,
-  GTK_TIMELINE_DIRECTION_BACKWARD
-} GtkTimelineDirection;
-
-typedef enum {
-  GTK_TIMELINE_PROGRESS_LINEAR,
-  GTK_TIMELINE_PROGRESS_EASE,
-  GTK_TIMELINE_PROGRESS_EASE_IN,
-  GTK_TIMELINE_PROGRESS_EASE_OUT,
-  GTK_TIMELINE_PROGRESS_EASE_IN_OUT
-} GtkTimelineProgressType;
-
-struct GtkTimeline
-{
-  GObject parent_instance;
-  gpointer priv;
-};
-
-struct GtkTimelineClass
-{
-  GObjectClass parent_class;
-
-  void (* started)           (GtkTimeline *timeline);
-  void (* finished)          (GtkTimeline *timeline);
-  void (* paused)            (GtkTimeline *timeline);
-
-  void (* frame)             (GtkTimeline *timeline,
-                             gdouble     progress);
-
-  void (* __gtk_reserved1) (void);
-  void (* __gtk_reserved2) (void);
-  void (* __gtk_reserved3) (void);
-  void (* __gtk_reserved4) (void);
-};
-
-
-GType                   _gtk_timeline_get_type          (void) G_GNUC_CONST;
-
-GtkTimeline *           _gtk_timeline_new               (guint                    duration);
-GtkTimeline *           _gtk_timeline_new_for_screen    (guint                    duration,
-                                                         GdkScreen               *screen);
-
-void                    _gtk_timeline_start             (GtkTimeline             *timeline);
-void                    _gtk_timeline_pause             (GtkTimeline             *timeline);
-void                    _gtk_timeline_rewind            (GtkTimeline             *timeline);
-
-gboolean                _gtk_timeline_is_running        (GtkTimeline             *timeline);
-guint                   _gtk_timeline_get_elapsed_time  (GtkTimeline             *timeline);
-
-guint                   _gtk_timeline_get_fps           (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_fps           (GtkTimeline             *timeline,
-                                                         guint                    fps);
-
-gboolean                _gtk_timeline_get_loop          (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_loop          (GtkTimeline             *timeline,
-                                                         gboolean                 loop);
-
-guint                   _gtk_timeline_get_duration      (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_duration      (GtkTimeline             *timeline,
-                                                         guint                    duration);
-
-GdkScreen *             _gtk_timeline_get_screen        (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_screen        (GtkTimeline             *timeline,
-                                                         GdkScreen               *screen);
-
-GtkTimelineDirection    _gtk_timeline_get_direction     (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_direction     (GtkTimeline             *timeline,
-                                                         GtkTimelineDirection     direction);
-
-gdouble                 _gtk_timeline_get_progress      (GtkTimeline             *timeline);
-
-GtkTimelineProgressType _gtk_timeline_get_progress_type (GtkTimeline             *timeline);
-void                    _gtk_timeline_set_progress_type (GtkTimeline             *timeline,
-                                                         GtkTimelineProgressType  progress_type);
-
-
-G_END_DECLS
-
-#endif /* __GTK_TIMELINE_H__ */
index 09f6e3a553698a2e53d77646dd351c55da246aeb..82215716b64bb90ccdcad07df1499fa6fffbd1ea 100644 (file)
@@ -303,14 +303,10 @@ gtk_tool_item_group_header_draw_cb (GtkWidget *widget,
       y = 0;
     }
 
-  /* The expander is the only animatable region */
-  gtk_style_context_push_animatable_region (context, GUINT_TO_POINTER (1));
-
   gtk_render_expander (context, cr, x, y,
                        priv->expander_size,
                        priv->expander_size);
 
-  gtk_style_context_pop_animatable_region (context);
   gtk_style_context_restore (context);
 
   return FALSE;
@@ -1909,8 +1905,6 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group,
                                            GTK_WIDGET (group));
   if (collapsed != priv->collapsed)
     {
-      GtkStyleContext *context;
-
       if (priv->animation)
         {
           if (priv->animation_timeout)
@@ -1923,19 +1917,6 @@ gtk_tool_item_group_set_collapsed (GtkToolItemGroup *group,
                                  gtk_tool_item_group_animation_cb,
                                  group, NULL);
           g_source_attach (priv->animation_timeout, NULL);
-
-          context = gtk_widget_get_style_context (gtk_bin_get_child (GTK_BIN (priv->header)));
-
-          gtk_style_context_save (context);
-          gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
-
-          gtk_style_context_notify_state_change (context,
-                                                 gtk_widget_get_window (priv->header),
-                                                 GUINT_TO_POINTER (1),
-                                                 GTK_STATE_FLAG_ACTIVE,
-                                                 !collapsed);
-
-          gtk_style_context_restore (context);
         }
       else
         gtk_tool_item_group_force_expose (group);
index 52c7aa34cc21657d013d9428d9d0579ddbccbe73..93ccb6ed3ce39815f692dbcd09d4178772afbec5 100644 (file)
@@ -2299,7 +2299,6 @@ gtk_tree_view_unrealize (GtkWidget *widget)
 {
   GtkTreeView *tree_view = GTK_TREE_VIEW (widget);
   GtkTreeViewPrivate *priv = tree_view->priv;
-  GtkStyleContext *context;
   GList *list;
 
   if (priv->scroll_timeout != 0)
@@ -2320,9 +2319,6 @@ gtk_tree_view_unrealize (GtkWidget *widget)
       priv->open_dest_timeout = 0;
     }
 
-  context = gtk_widget_get_style_context (widget);
-  gtk_style_context_cancel_animations (context, NULL);
-
   if (priv->presize_handler_timer != 0)
     {
       g_source_remove (priv->presize_handler_timer);
@@ -9009,7 +9005,6 @@ gtk_tree_view_row_deleted (GtkTreeModel *model,
   gboolean selection_changed = FALSE, cursor_changed = FALSE;
   GtkRBTree *cursor_tree = NULL;
   GtkRBNode *cursor_node = NULL;
-  GtkStyleContext *context;
 
   g_return_if_fail (path != NULL);
 
@@ -9114,10 +9109,6 @@ gtk_tree_view_row_deleted (GtkTreeModel *model,
       tree_view->priv->top_row = NULL;
     }
 
-  /* Cancel any ongoing animation happening within the row */
-  context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
-  gtk_style_context_cancel_animations (context, node);
-
   install_scroll_sync_handler (tree_view);
 
   gtk_widget_queue_resize (GTK_WIDGET (tree_view));
@@ -10140,13 +10131,10 @@ gtk_tree_view_draw_arrow (GtkTreeView *tree_view,
   gtk_style_context_set_state (context, state);
   gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
 
-  gtk_style_context_push_animatable_region (context, node);
-
   gtk_render_expander (context, cr,
                        area.x, area.y,
                        area.width, area.height);
 
-  gtk_style_context_pop_animatable_region (context);
   gtk_style_context_restore (context);
 }
 
@@ -11255,7 +11243,6 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
 {
   if (gtk_widget_get_realized (GTK_WIDGET (tree_view)))
     {
-      GtkStyleContext *context;
       gint dy;
        
       gdk_window_move (tree_view->priv->bin_window,
@@ -11298,9 +11285,6 @@ gtk_tree_view_adjustment_changed (GtkAdjustment *adjustment,
        }
       gdk_window_scroll (tree_view->priv->bin_window, 0, dy);
 
-      context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
-      gtk_style_context_scroll_animations (context, tree_view->priv->bin_window, 0, dy);
-
       if (tree_view->priv->dy != (int) gtk_adjustment_get_value (tree_view->priv->vadjustment))
         {
           /* update our dy and top_row */
@@ -11395,14 +11379,10 @@ gtk_tree_view_set_model (GtkTreeView  *tree_view,
   if (tree_view->priv->model)
     {
       GList *tmplist = tree_view->priv->columns;
-      GtkStyleContext *context;
 
       gtk_tree_view_unref_and_check_selection_tree (tree_view, tree_view->priv->tree);
       gtk_tree_view_stop_editing (tree_view, TRUE);
 
-      context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
-      gtk_style_context_cancel_animations (context, NULL);
-
       g_signal_handlers_disconnect_by_func (tree_view->priv->model,
                                            gtk_tree_view_row_changed,
                                            tree_view);
@@ -12794,22 +12774,6 @@ gtk_tree_view_real_expand_row (GtkTreeView *tree_view,
                                        tree, node,
                                        GTK_CELL_RENDERER_EXPANDED);
 
-  if (animate)
-    {
-      GtkStyleContext *context;
-
-      context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
-
-      gtk_style_context_save (context);
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
-
-      gtk_style_context_notify_state_change (context, tree_view->priv->bin_window,
-                                             node, GTK_STATE_ACTIVE, TRUE);
-
-      _gtk_style_context_invalidate_animation_areas (context);
-      gtk_style_context_restore (context);
-    }
-
   install_presize_handler (tree_view);
 
   g_signal_emit (tree_view, tree_view_signals[ROW_EXPANDED], 0, &iter, path);
@@ -12973,22 +12937,6 @@ gtk_tree_view_real_collapse_row (GtkTreeView *tree_view,
   if (selection_changed)
     g_signal_emit_by_name (tree_view->priv->selection, "changed");
 
-  if (animate)
-    {
-      GtkStyleContext *context;
-
-      context = gtk_widget_get_style_context (GTK_WIDGET (tree_view));
-
-      gtk_style_context_save (context);
-      gtk_style_context_add_class (context, GTK_STYLE_CLASS_EXPANDER);
-
-      gtk_style_context_notify_state_change (context, tree_view->priv->bin_window,
-                                             node, GTK_STATE_ACTIVE, FALSE);
-
-      _gtk_style_context_invalidate_animation_areas (context);
-      gtk_style_context_restore (context);
-    }
-
   if (gtk_widget_get_mapped (GTK_WIDGET (tree_view)))
     {
       gtk_widget_queue_resize (GTK_WIDGET (tree_view));
index 4738d2a36425e6352bd4e4b8dc53dc53b345f364..d74c94140ee00576a5ce335eaac24aefbc3a9992 100644 (file)
@@ -56,7 +56,6 @@
 #include "gtkstylecontextprivate.h"
 #include "gtksymboliccolor.h"
 #include "gtkcssprovider.h"
-#include "gtkanimationdescription.h"
 #include "gtkmodifierstyle.h"
 #include "gtkversion.h"
 #include "gtkdebug.h"
@@ -4177,82 +4176,6 @@ gtk_widget_show_all (GtkWidget *widget)
     class->show_all (widget);
 }
 
-static void
-_gtk_widget_notify_state_change (GtkWidget     *widget,
-                                 GtkStateFlags  flag,
-                                 gboolean       target)
-{
-  GtkStateType state;
-
-  switch (flag)
-    {
-    case GTK_STATE_FLAG_ACTIVE:
-      state = GTK_STATE_ACTIVE;
-      break;
-    case GTK_STATE_FLAG_PRELIGHT:
-      state = GTK_STATE_PRELIGHT;
-      break;
-    case GTK_STATE_FLAG_SELECTED:
-      state = GTK_STATE_SELECTED;
-      break;
-    case GTK_STATE_FLAG_INSENSITIVE:
-      state = GTK_STATE_INSENSITIVE;
-      break;
-    case GTK_STATE_FLAG_INCONSISTENT:
-      state = GTK_STATE_INCONSISTENT;
-      break;
-    case GTK_STATE_FLAG_FOCUSED:
-      state = GTK_STATE_FOCUSED;
-      break;
-    default:
-      return;
-    }
-
-  gtk_style_context_notify_state_change (widget->priv->context,
-                                         gtk_widget_get_window (widget),
-                                         NULL, state, target);
-}
-
-/* Initializes state transitions for those states that
- * were enabled before mapping and have a looping animation.
- */
-static void
-_gtk_widget_start_state_transitions (GtkWidget *widget)
-{
-  GtkStateFlags state, flag;
-
-  if (!widget->priv->context)
-    return;
-
-  state = gtk_widget_get_state_flags (widget);
-  flag = GTK_STATE_FLAG_FOCUSED;
-
-  while (flag)
-    {
-      GtkAnimationDescription *animation_desc;
-
-      if ((state & flag) == 0)
-        {
-          flag >>= 1;
-          continue;
-        }
-
-      gtk_style_context_get (widget->priv->context, state,
-                             "transition", &animation_desc,
-                             NULL);
-
-      if (animation_desc)
-        {
-          if (_gtk_animation_description_get_loop (animation_desc))
-            _gtk_widget_notify_state_change (widget, flag, TRUE);
-
-          _gtk_animation_description_unref (animation_desc);
-        }
-
-      flag >>= 1;
-    }
-}
-
 /**
  * gtk_widget_map:
  * @widget: a #GtkWidget
@@ -4284,8 +4207,6 @@ gtk_widget_map (GtkWidget *widget)
         gdk_window_invalidate_rect (priv->window, &priv->allocation, FALSE);
 
       gtk_widget_pop_verify_invariants (widget);
-
-      _gtk_widget_start_state_transitions (widget);
     }
 }
 
@@ -4316,9 +4237,6 @@ gtk_widget_unmap (GtkWidget *widget)
 
       gtk_widget_pop_verify_invariants (widget);
 
-      if (priv->context)
-        gtk_style_context_cancel_animations (priv->context, NULL);
-
       /* Unset pointer/window info */
       g_object_set_qdata (G_OBJECT (widget), quark_pointer_window, NULL);
     }
@@ -5024,14 +4942,6 @@ gtk_widget_size_allocate (GtkWidget      *widget,
              cairo_region_destroy (invalidate);
            }
        }
-
-      if (size_changed || position_changed)
-        {
-          GtkStyleContext *context;
-
-          context = gtk_widget_get_style_context (widget);
-          _gtk_style_context_invalidate_animation_areas (context);
-        }
     }
 
   if ((size_changed || position_changed) && priv->parent &&
@@ -5807,8 +5717,6 @@ _gtk_widget_draw_internal (GtkWidget *widget,
                            cairo_t   *cr,
                            gboolean   clip_to_size)
 {
-  GtkStyleContext *context;
-
   if (!gtk_widget_is_drawable (widget))
     return;
 
@@ -5844,9 +5752,6 @@ _gtk_widget_draw_internal (GtkWidget *widget,
                      cairo_status_to_string (cairo_status (cr)));
         }
     }
-
-  context = gtk_widget_get_style_context (widget);
-  _gtk_style_context_coalesce_animation_areas (context, widget);
 }
 
 /**
@@ -11024,30 +10929,6 @@ gtk_widget_propagate_state (GtkWidget    *widget,
                                 &child_data);
         }
 
-      /* Trigger state change transitions for the widget */
-      if (priv->context &&
-          gtk_widget_get_mapped (widget))
-        {
-          gint diff, flag = 1;
-
-          diff = old_flags ^ new_flags;
-
-          while (diff != 0)
-            {
-              if ((diff & flag) != 0)
-                {
-                  gboolean target;
-
-                  target = ((new_flags & flag) != 0);
-                  _gtk_widget_notify_state_change (widget, flag, target);
-
-                  diff &= ~flag;
-                }
-
-              flag <<= 1;
-            }
-        }
-
       g_object_unref (widget);
     }
 }
index e583ce8aead2f017e8586942731fc274b5460442..b3169f4e9c5d473e8ffc8dea3fed064e02d8c494 100644 (file)
@@ -151,12 +151,6 @@ draw_cb_activity (GtkWidget *widget, cairo_t *cr)
   GtkWidgetPath *path;
 
   context = gtk_widget_get_style_context (widget);
-  gtk_style_context_notify_state_change (context,
-                                         gtk_widget_get_window (widget),
-                                         NULL,
-                                         GTK_STATE_FLAG_ACTIVE,
-                                         TRUE);
-
   gtk_style_context_save (context);
 
   path = gtk_widget_path_new ();